package com.activenetwork.util.grid;

import org.openqa.selenium.WebElement;

import com.activenetwork.util.grid.condition.Condition;

public interface OperatableGrid {
	public abstract boolean isPagable();
	
	public abstract boolean isFirstPage();
	
	public abstract boolean isLastPage();
	
    public abstract void firstPage();

    public abstract void nextPage();
    
    public abstract void previousPage();

    public abstract void setGridSize(int size);
    
    public abstract void checkOnRow(Condition... conditions);
    
    public abstract void expandRow(Condition... conditions);
    
    public abstract void clickRow(int column, Condition... conditions);
    
    public abstract void modifyRow(RowAction action, Condition... conditions);
    
    public abstract void clickRowRadio(int column, Condition...conditions);
    
    public abstract int countMatchRow(Condition...conditions);
    	
    public abstract WebElement getTd(int col, Condition...conditions);
    
    public abstract WebElement getTd(int row, int col);
    
    public abstract void checkAll();
}